#!/usr/bin/make -f
# -*- makefile -*-

export LC_ALL := C.UTF-8
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export DEB_LDFLAGS_MAINT_STRIP=-Wl,-Bsymbolic-functions

#GPGME needs this for proper building on 32 bit archs
ifeq ($(DEB_HOST_ARCH_BITS),32)
	export DEB_CFLAGS_MAINT_APPEND = -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
endif

CONFARGS =

ifneq ($(CI),)
	CONFARGS += --werror
endif

ifneq ($(DEB_HOST_ARCH_CPU),ia64)
	CONFARGS += -Dplugin_flashrom=enabled
else
	CONFARGS += -Dplugin_flashrom=disabled
endif

ifneq ($(filter $(DEB_HOST_ARCH_CPU),i386 amd64),)
	CONFARGS += -Dplugin_msr=enabled
else
	CONFARGS += -Dplugin_msr=disabled
endif

ifneq ($(QUBES_OPTION),)
	CONFARGS += -Dqubes=true
endif

ifneq ($(filter nodoc,$(DEB_BUILD_PROFILES)),)
	CONFARGS += -Ddocs=disabled
endif

CONFARGS += -Dplugin_powerd=disabled -Dsupported_build=enabled -Dplugin_modem_manager=enabled -Defi_binary=false

%:
	dh $@ --with gir

override_dh_auto_clean:
	rm -fr obj-*
	rm -fr debian/build

override_dh_auto_configure:
	dh_auto_configure -- $(CONFARGS)

override_dh_install:
	find debian/tmp/usr -type f -name "*a" -print | xargs rm -f
	sed -i 's,wheel,sudo,' debian/tmp/usr/share/polkit-1/rules.d/org.freedesktop.fwupd.rules
	dh_install
	dh_install -pfwupd $$(pkg-config --variable=systemdsystemunitdir systemd | sed s,^/,,)
	dh_install -pfwupd $$(pkg-config --variable=udevdir udev | sed s,^/,,)/rules.d
	#install MSR conf if needed (depending on distro)
	[ ! -d debian/tmp/usr/lib/modules-load.d ] || dh_install -pfwupd usr/lib/modules-load.d
	[ ! -d debian/tmp/lib/modules-load.d ] || dh_install -pfwupd lib/modules-load.d
	[ ! -d debian/tmp/usr/share/fwupd/quirks.d ] || dh_install -pfwupd usr/share/fwupd/quirks.d

	#install docs (maybe)
	[ ! -d debian/tmp/usr/share/doc ] || dh_install -pfwupd-doc usr/share/doc

	#install devices-tests (maybe)
	[ ! -d debian/tmp/usr/share/fwupd/device-tests/ ] || dh_install -pfwupd-tests usr/share/fwupd/device-tests

	#/usr merge or not (make backporting easier)
	[ ! -d debian/tmp/lib/systemd ] || dh_install -pfwupd lib/systemd
	[ ! -d debian/tmp/usr/lib/systemd ] || dh_install -pfwupd usr/lib/systemd

	dh_missing -a --fail-missing

	#this is placed in fwupd-tests
	rm -f debian/fwupd/usr/lib/*/fwupd-plugins-*/libfu_plugin_test.so
	rm -f debian/fwupd/usr/lib/*/fwupd-plugins-*/libfu_plugin_test_ble.so
	rm -f debian/fwupd/etc/fwupd/remotes.d/fwupd-tests.conf

	# avoid shipping an empty directory
	[ ! -d debian/fwupd/lib/systemd ] || find debian/fwupd/lib/systemd -type d -empty -delete
	[ ! -d debian/fwupd/usr/lib/systemd ] || find debian/fwupd/usr/lib/systemd -type d -empty -delete

override_dh_strip_nondeterminism:
	dh_strip_nondeterminism -Xfirmware-example.xml.gz

ifneq (yes,$(shell command -v valgrind >/dev/null 2>&1 && echo yes))
override_dh_auto_test:
	:
endif

override_dh_builddeb:
	dh_builddeb
